package cockpit.DAO.interfaz;

import java.sql.SQLException;
import java.util.ArrayList;

import cockpit.comm.DTO.DatosException;
import cockpit.comm.DTO.ProductoDTO;

public interface IProducto 
{
	
	
    /*------------------------------------------------------------------------------------
    //Service Transacciones
    ------------------------------------------------------------------------------------*/    
    
    public void agregarReviewProducto (long idUsuario, long idProducto, int calificacion, String opinion    ) throws DatosException;
    
    public void agregarViewProducto (long idUsuario, long idProducto  ) throws DatosException;
    
    public void agregarProducto(long idUsuario, long idCategoria, int cantidad, int costoVendedor, int costoCockpit, String nombreProducto, String descripcionProducto, String historiaProducto, String productoscol ) throws DatosException;
    
    public Long eliminarProducto(Long id ) throws DatosException;    

    public void editarProducto( long idProducto, long idUsuario, long idCategoria, int cantidad, int costoVendedor, int costoCockpit, String nombreProducto, String descripcionProducto, String historiaProducto, String productoscol ) throws DatosException;
    
    public void editarColProducto( long idProducto, String productoscol ) throws DatosException;
    
    public void editarHistoriaProducto( long idProducto, String historiaProducto ) throws DatosException;
    
    public void editarDescripcionProducto( long idProducto, String descripcionProducto ) throws DatosException;
    
    public void editarNombreProducto( long idProducto, String nombreProducto ) throws DatosException;
    
    public void editarCostoCockpitProducto( long idProducto, long costoCockpit ) throws DatosException;
    
    public void editarCostoVendedorProducto( long idProducto, long costoVendedor ) throws DatosException;
    
    public void editarCategoriaProducto( long idProducto, long idCategoria ) throws DatosException;
    
    public void editarCantidadProducto( long idProducto, long cantidad ) throws DatosException;
    
    public ArrayList<ProductoDTO> getProductosCategoria( int Categoria ) throws DatosException, SQLException;

    public ArrayList<ProductoDTO> getProductosEmpresa( int idusuario ) throws DatosException, SQLException;

    public ArrayList<ProductoDTO> getUltimosProductosEmpresa( int idusuario ) throws DatosException, SQLException;

    public ArrayList<ProductoDTO> getUltimosProductos( ) throws DatosException, SQLException;

    public void agregarImagen( long idUsuario, String nombre, String ruta ) throws DatosException;
    
    public void agregarInfoEnvio(int idProducto, int tiempoEntrega, String medioEnvio, String politicaDevulucion ) throws DatosException;
    
    public void agregarInfoProducto(int idProducto, String marca, String colores, String cuidado, String peso, String medidas, String materiales) throws DatosException;
}
